/* 
1 页面被打开的时候 onShow 
  0 onShow 不同于onLoad 无法在形参上接收 options参数 
  0.5 判断缓存中有没有token 
    1 没有 直接跳转到授权页面
    2 有 直接往下进行 
  1 获取url上的参数type
  2 根据type来决定页面标题的数组元素 哪个被激活选中 
  2 根据type 去发送请求获取订单数据
  3 渲染页面
2 点击不同的标题 重新发送请求来获取和渲染数据 
 */
var app = getApp();
import { request } from "../../request/index.js";
import regeneratorRuntime from '../../lib/runtime/runtime';

Page({

  /**
   * 页面的初始数据
   */
  data: {
    orders: [],
    dept: null,
    tabs: [
      {
        id: 0,
        value: "全部",
        isActive: true
      },
      {
        id: 1,
        value: "已下单",
        isActive: false
      },
      {
        id: 2,
        value: "已归还",
        isActive: false
      }
    ]
  },

  onShow(options) {
    // const token = wx.getStorageSync("token");
    // if (!token) {
    //   wx.navigateTo({
    //     url: '/pages/auth/auth'
    //   });
    //   return;
    // }

    // 1 获取当前的小程序的页面栈-数组 长度最大是10页面 
    let pages = getCurrentPages();
    // 2 数组中 索引最大的页面就是当前页面
    let currentPage = pages[pages.length - 1];
    // 3 获取url上的type参数
    const { type } = currentPage.options;
    // 4 激活选中页面标题 当 type=1 index=0 
    this.changeTitleByIndex(type-1);
    this.getOrders(type);
  },
  // 获取订单列表的方法
  // async getOrders(type) {
  //   const res = await request({ url: "https://api-hmugo-web.itheima.net/api/public/v1/my/orders/all", data: { type } });
  //   this.setData({
  //     orders: res.orders.map(v => ({ ...v, create_time_cn: (new Date(v.create_time * 1000).toLocaleString()) }))
  //   })
  // },
 // 获取订单列表的方法
  getOrders(type){
    this.setData({
      dept: getApp().globalData.dept
    });
    var phoneNumber = getApp().globalData.tel;
    wx.request({
      url: app.wxlocurl.url + 'WXLogin/WXGetOrderList',
      data: {
        type:type,
        tel: phoneNumber//全局的手机号
      },
      method: "POST",
      contentType: "application/x-www-form-urlencoded;charset=utf-8",
      success: (res) => {
        this.setData({
          orders:res.data
        })
      },
      fail: () => {
        wx.showToast({
          title: '查询失败',
          icon: 'success',
          duration: 2000
        });
      }
    })
  },
  //退货
  handleTuiHuo(e){
    var ID = e.currentTarget.dataset.index;
    wx.request({
      url: app.wxlocurl.url + 'WXLogin/WXSetTuiHuo?ID='+ID,
      method: "POST",
      contentType: "application/x-www-form-urlencoded;charset=utf-8",
      success: (res) => {
        wx.showToast({
          title: '归还成功',
          icon: 'success',
          // true 防止用户 手抖 疯狂点击按钮 
          mask: true
        });
        var phoneNumber = getApp().globalData.tel;
        wx.request({
          url: app.wxlocurl.url + 'WXLogin/WXGetOrderList',
          data: {
            type: 2,
            tel: phoneNumber//全局的手机号
          },
          method: "POST",
          contentType: "application/x-www-form-urlencoded;charset=utf-8",
          success: (res) => {
            this.setData({
              orders: res.data
            })
          },
          fail: () => {
            wx.showToast({
              title: '查询失败',
              icon: 'success',
              duration: 2000
            });
          }
        })
      },
      fail: () => {
        wx.showToast({
          title: '归还失败',
          icon: 'success',
          duration: 2000
        });
      }
    })
  },
  
  // 根据标题索引来激活选中 标题数组
  changeTitleByIndex(index) {
    // 2 修改源数组
    let { tabs } = this.data;
    tabs.forEach((v, i) => i === index ? v.isActive = true : v.isActive = false);
    // 3 赋值到data中
    this.setData({
      tabs
    })
  },
  handleTabsItemChange(e) {
    // 1 获取被点击的标题索引
    const { index } = e.detail;
    this.changeTitleByIndex(index);
    // 2 重新发送请求 type=1 index=0
    this.getOrders(index + 1);
  }
})